↰ powrót do programu studiów

Sylabusy w bazie:

Algorytmy uczenia maszynowego obowiązkowy| - Bioinformatyka UAM - ogólnoakademicki - II stopień - I - |23882021-05-13 6

wybrano: 2388


Algorytmy uczenia maszynowego

Sylabus zajęć

Informacje podstawowe

Kierunek studiów
Specjalność
-
Jednostka organizacyjna
Wydział Biologii
Poziom studiów
Studia drugiego stopnia
Forma studiów
Studia stacjonarne
Profil studiów
Profil ogólnoakademicki
Cykl dydaktyczny
2021-2024
Języki wykładowe
Polski
Obligatoryjność
Obowiązkowy
Blok zajęciowy
Przedmioty nieprzypisane
Koordynator zajęć
dr Rafał Jaworski, Wydział Matematyki i Informatyki UAM
Prowadzący zajęcia
dr Rafał Jaworski, Wydział Matematyki i Informatyki UAM
Okres
Semestr 2
Forma zajęć / liczba godzin / forma zaliczenia
  • Wykład: 30, Ćwiczenia/laboratoria: 30, Zaliczenie z oceną
Liczba punktów ECTS
6.0

Cele kształcenia dla zajęć

Celem przedmiotu jest: 1. zrozumienie koncepcji uczenia maszynowego 2. poznanie najważniejszych zastosowań uczenia maszynowego 3. poznanie najważniejszych algorytmów uczenia maszynowego 4. nabycie umiejętności stosowania metod uczenia maszynowego w praktyce 5. nabycie umiejętności poprawnej ewaluacji modeli stworzonych metodami uczenia maszynowego

Wymagania wstępne

1. podstawowa umiejętność programowania w języku Python 2. znajomość podstaw algebry liniowej

Efekty uczenia się dla zajęć

Symbol EU dla zajęć/przedmiotuPo zakończeniu zajęć i potwierdzeniu osiągnięcia EU student/ka:Symbole EK dla kierunku studiów
Efekt_01Rozumie rolę i znaczenie uczenia, potrafi wskazać przykłady zastosowań uczenia maszynowego.
Efekt_02Potrafi wyróżnić podstawowe typy zadań uczenia maszynowego i wskazać ich przykłady.
Efekt_03Umie korzystać z podstawowych narzędzi biblioteki NumPy oraz elementów języka Python przydatnych do implementowania rozwiązań z dziedziny uczenia maszynowego.
Efekt_04Umie wizualizować dane, korzystając z biblioteki Matplotlib.
Efekt_05Rozumie zagadnienie regresji liniowej i logistycznej Rozumie metodę gradientu prostego i umie ją zaimplementować do znalezienia rozwiązania problemu regresji liniowej i logistycznej.
Efekt_06Rozumie znaczenie ewaluacji algorytmów uczenia maszynowego i zna jej podstawowe metody
Efekt_07Rozumie rolę zbiorów danych: uczącego, walidacyjnego i testowego, i potrafi z nich korzystać.
Efekt_08Zna podstawowe miary jakości stosowane przy ewaluacji algorytmów uczenia maszynowego.
Efekt_09Potrafi korzystać z modułów pakietu Scikit-Learn do implementacji rozwiązań uczenia maszynowego i dokonać ewaluacji uzyskanych wyników.
Efekt_10Rozumie zjawiska nadmiernego i niedostatecznego dopasowania i zna metody regularyzacji. Umie zapobiegać nadmiernemu i niedostatecznemu dopasowaniu w implementowanych przez siebie rozwiązaniach.
Efekt_11Rozumie znaczenie optymalizacji i zna jej podstawowe metody oraz umie je stosować
Efekt_12Rozumie ideę uczenia nienadzorowanego i zna najważniejsze algorytmy uczenia nienadzorowanego oraz potrafi je zaimplementować.
Efekt_13Rozumie zasadę działania naiwnego klasyfikatora bayesowskiego.
Efekt_14Rozumie zasadę działania algorytmu k najbliższych sąsiadów.
Efekt_15Rozumie zasadę działania sztucznych sieci neuronowych, w tym wielowarstwowych.
Efekt_16Potrafi wykorzystywać metodę propagacji wstecznej do uczenia wielowarstwowych sieci neuronowych.
Efekt_17Potrafi implementować sieci neuronowe z wykorzystaniem biblioteki Keras.
Efekt_18Rozumie zasadę działania i potrafi wskazać zastosowania rekurencyjnych sieci neuronowych.
Efekt_19Rozumie zasadę działania i potrafi wskazać zastosowania splotowych sieci neuronowych.
Efekt_20Rozumie zasadę działania i potrafi wskazać zastosowania modeli typu encoder-decoder.
Efekt_21Rozumie ideę uczenia przez wzmacnianie i zna podstawowe paradygmaty uczenia przez wzmacnianie.

Treści programowe

Lp. Treści programowe dla zajęć/przedmiotu Symbol EU dla zajęć/przedmiotu
1.

Wprowadzenie do uczenia maszynowego. Czym jest uczenie maszynowe? Uczenie maszynowe a analiza danych. Przegląd zastosowań i metod uczenia maszynowego. Podstawowe pojęcia związane z uczeniem maszynowym.

Efekt_01, Efekt_02
2.

Elementy języka Python przydatne przy implementowaniu algorytmów uczenia maszynowego (biblioteka NumPy).

Efekt_03
3.

Wczytywanie i prezentowanie danych. Formaty CSV i TSV. Tworzenie wykresów przy pomocy biblioteki Matplotlib.

Efekt_04
4.

Regresja liniowa jednej zmiennej. Funkcja kosztu. Metoda gradientu prostego. Regresja liniowa wielu zmiennych. Normalizacja danych. Implementacja regresji liniowej jednej zmiennej w języku Python przy pomocy metody gradientu prostego.

Efekt_05
5.

Dwuklasowa i wieloklasowa regresja logistyczna. Metoda gradientu prostego dla regresji logistycznej.

Efekt_05
6.

Ewaluacja algorytmów uczenia maszynowego. Metodologia testowania. Zbiory uczący, testowy i walidacyjny. Walidacja krzyżowa. Miary jakości. Obserwacje odstające.

Efekt_06, Efekt_07, Efekt_08, Efekt_10, Efekt_11
7.

Implementacja regresji liniowej wielu zmiennych w języku Python wraz z ewaluacją otrzymanego modelu.

Efekt_05
8.

Implementacja regresji logistycznej.

Efekt_05
9.

Regresja wielomianowa. Problem nadmiernego i niedostatecznego dopasowania. Metody regularyzacji. Krzywa uczenia się. Implementacja regresji wielomianowej. Problem nadmiernego i niedostatecznego dopasowani w praktyce. Implementacja metod regularyzacji.

Efekt_05
10.

Naiwny klasyfikator bayesowski. Sposoby reprezentacji danych.

Efekt_13
11.

Algorytm k najbliższych sąsiadów.

Efekt_14
12.

Korzystanie z gotowych implementacji algorytmów na przykładzie pakietu scikit-learn. Implementacja naiwnego klasyfikatora bayesowskiego. Implementacja algorytmu k najbliższych sąsiadów.

Efekt_09, Efekt_13, Efekt_14
13.

Metody uczenia nienadzorowanego. Algorytm k średnich. Algorytm analizy głównych składowych.

Efekt_12
14.

Wprowadzenie do sieci neuronowych. Perceptron. Funkcje aktywacji. Wielowarstwowe sieci neuronowe.

Efekt_15, Efekt_17
15.

Propagacja wsteczna. Uczenie wielowarstwowych sieci neuronowych.

Efekt_16, Efekt_17
16.

Przegląd funkcji aktywacji. Wielowarstwowe sieci neuronowe w praktyce. Odmiany metody gradientu prostego. Algorytmy optymalizacji.

Efekt_16, Efekt_17
17.

Rekurencyjne sieci neuronowe. Sieci LSTM i GRU i ich implementacja.

Efekt_18, Efekt_17
18.

Splotowe sieci neuronowe i ich implementacja.

Efekt_19, Efekt_17
19.

Modele encoder-decoder. Autoencoder. Word embeddings. Tłumaczenie neuronowe.

Efekt_20
20.

Uczenie przez wzmacnianie. Podstawy systemów dialogowych.

Efekt_21

Informacje dodatkowe

Metody i formy prowadzenia zajęć
Wykład z prezentacją multimedialną wybranych zagadnień
Metoda laboratoryjna
Sposoby ocenianiaSymbole EK dla modułu zajęć/przedmiotu
EK_1EK_2EK_3EK_4EK_5EK_6EK_7EK_8EK_9EK_10EK_11EK_12EK_13EK_14EK_15EK_16EK_17EK_18EK_19EK_20EK_21
Egzamin pisemnyxxxxxxxxxxxxxxxxxxxxx
Testxxxxxxxxxxxxxxxxxxxxx
Kryteria oceniania wg skali stosowanej w UAM
bardzo dobry (bdb; 5,0): powyżej 90% punktów
dobry plus (+db; 4,5): powyżej 80% punktów
dobry (db; 4,0): powyżej 70% punktów
dostateczny plus (+dst; 3,5): powyżej 60% punktów
dostateczny (dst; 3,0): powyżej 50% punktów
niedostateczny (ndst; 2,0): 50% punktów lub mniej

Literatura

Wydawnictwa książkowe

    1. K. Krawiec, J. Stefanowski: Uczenie maszynowe i sieci neuronowe, WPP, Poznań, 2004
    2. M. Krzyśko, W. Wołyński, T. Górecki, M. Skorzybut: Systemy uczące się, WNT, Warszawa, 2008
    3. W. Duch, J. Korbicz, L. Rutkowski, R. Tadeusiewicz: Sieci neuronowe, Exit, Warszawa, 200

Nakład pracy studenta i punkty ECTS

Forma aktywności Średnia liczba godzin* na zrealizowanie aktywności
Godziny zajęć (wg planu studiów) z nauczycielem60
Praca własna studenta:
Przygotowanie do zajęć15
Czytanie wskazanej literatury25
Przygotowanie pracy pisemnej, raportu, prezentacji, demonstracji, itp.
Przygotowanie projektu
Przygotowanie pracy semestralnej
Przygotowanie do egzaminu / zaliczenia20
Praca z materiałem do samokształcenia (np. Jupter Notebook)-30
Wykonywanie zadań domowych-30
SUMA GODZIN180
LICZBA PUNKTÓW ECTS DLA MODUŁU ZAJĘĆ/PRZEDMIOTU6

* godzina (lekcyjna) oznacza 45 minut